草庐IT

java - ListenableFuture、FutureCallback 和超时

全部标签

java - 最小化 Golang 中的接口(interface)

在golang中,接口(interface)对于解耦和组合代码极其重要,因此,一个高级的go程序可能很容易定义上千个接口(interface)。我们如何随着时间的推移改进这些接口(interface),以确保它们保持最小化?是否有常用的go工具来检查未使用的函数?是否有使用类似于java的@Override的方式注释go函数的最佳实践,以确保声明的函数正确实现预期的契约?通常在java语言中,很容易使代码与接口(interface)规范紧密绑定(bind),因为高级工具允许我们查找和删除根本未被引用的函数(通常这会在任何常见的情况下自动为您突出显示)开发环境)。

java - Jsonrpc4j 和 go 的 rpc/jsonrpc 之间的 JSONRPC 格式不同

当我尝试使用net/jsonrpc包构建服务器和带有jsonrpc4j的Java客户端时遇到问题问题是jsonrpc4j是当发生错误时,golang的方法将错误和编码返回给json。我在客户端得到了这个json对象{"id":-6028374044949000,"result":null,"error":"someerrorreturnmessage"}此对象在java的json4j中转换失败。http://www.jsonrpc.org/specification#error_object我查看了jsonrpc页面,说errorfieldMUSTajsonobjectwithfiel

java - 如何触发 java 应用程序(来自 Google GO/golang sub_process 的 java -jar <app name>

我正在尝试将java命令行应用程序作为golang的子进程触发。由于某种原因它失败了,实际上当我从GO启动它时我没有得到javaAPP界面。它等待几秒钟并以错误代码“无法连接...”终止这是我尝试使用的代码:packagemainimport("fmt""os/exec")funcmain(){start_java_app_test()}funcstart_java_app_test(){cmd_prep:="java-Xmx2g-jartest_app.jar"cmd_output,err:=exec.Command("bash","-c",cmd_prep).Output()ife

java - 在 Windows 中从 golanguage 程序执行 jar

'packagemainimport("fmt""log""os/exec""strings")funcmain(){//varjava="\\jrex64\\bin\\java.exe"varjava="jre/lib/java.exe"varpath=[]string{"jrex64\\lib\\rt.jar","jrex64\\lib\\jfxrt.jar","jrex64\\lib\\resources.jar","jrex64\\lib\\ext\\sunjce_provider.jar","jrex64\\lib\\ext\\zipfs.jar","jrex64\\lib\

java - 使用来自 GAE API 的 endpointscfg 生成 Java 客户端库时出现 HTTP 500 错误

我尝试使用从我的API端点(在golang上运行)检索到的发现文档生成Java客户端库,但失败了,并显示以下消息。endpointscfg.pygen_client_libjavahappylaundry.rest.discoveryTraceback(mostrecentcalllast):File"//Users/lorenz/go/go_appengine/endpointscfg.py",line133,inrun_file(__file__,globals())File"//Users/lorenz/go/go_appengine/endpointscfg.py",line1

java - 带有 Java 客户端的 golang 服务器

我有一个大问题......我们有一个关于学校和工作的项目。我编写go服务器,我的伙伴编写java客户端。我有一个问题,如果他发送类似“HelloWorld”的内容,golang服务器会将其拆分为“Hello”和“World”SeePictureJava代码:publicclassDataController{publicStringrecieveDataFromServer(Socketsocket)throwsException{BufferedReaderbufferedReader=newBufferedReader(newInputStreamReader(socket.get

go - 身份验证失败 zk session 超时问题

我正在使用samuel的go-zookeeper并且遇到了“身份验证失败:zk:服务器已过期session”问题。一旦遇到此问题,它会重试重新连接到zookeeper并成功连接。但问题是它再次出现“身份验证失败”问题或无法注册消费者。此外,如果它确实成功连接并通过身份验证,则消费者永远不会将消息作为“当前注册的消费者:0”使用,并且除非我手动重新启动客户端,否则此过程将继续。可能是什么问题及其解决方案??这是日志:[Scheduler]2016/05/1504:49:20structs.go:21:Recvloopterminated:err=readtcp10.244.0.9:418

go - 通过 SetDeadline() 为 TCP 监听器设置超时

我正在尝试实现非阻塞Accept(),目前为止最好的是以下代码片段(它是一个有效的Gov1.6.2程序):packagemainimport("net""log""time")funccreateClient(){tcpConn,err:=net.DialTCP("tcp4",nil,&net.TCPAddr{IP:net.IPv4(127,0,0,1),Port:12819,})iferr!=nil{log.Fatalln("Errorconnectingtotheserver!")}log.Println("Managedtodial!")tcpConn.Close()}funcm

java - 从终端编译 java 源代码的最简单方法?

在没有IDE的情况下编译java源文件的最简单方法是什么?我主要是用Java做算法,这些题其实并不需要完整的项目环境。尽管能够导入一些可重用的类会很好。在Go中,我可以像这样构建我的项目:$HOME/src//编译它最终在$HOME/bin/*中(应用程序)或$HOME/pkg//(图书馆)。有没有办法做这样的事情,但对于java? 最佳答案 javac和jar命令将编译Java代码并创建jar文件。您的源代码必须位于与包结构相匹配的目录结构中。这意味着目录java/awt将包含java.awt包源文件。许多年前,我使用一组UNIX

mongodb - 在出现错误的情况下重新创建 mgo session (读取 tcp 127.0.0.1 :46954->127. 0.0.1:27017: i/o 超时)

我想知道如何使用mgo在Go中管理MongoDBsession,尤其是关于如何正确确保session已关闭以及如何对写入失败使用react。我已阅读以下内容:BestpracticetomaintainamgosessionShouldIcopysessionforeachoperationinmgo?仍然不能将其应用于我的情况。我有两个goroutine,它们将事件一个接一个地存储到MongoDB中,共享同一个*mgo.Session,两者看起来基本上如下所示:funcstoreEvents(session*mgo.Session){session_copy:=session.Cop